// import 'package:flutter/material.dart';
// import 'package:visibility_detector/visibility_detector.dart';

// class LazyLoadItem extends StatefulWidget {
//   final Widget Function() builder;
//   final VoidCallback? onVisible;

//   const LazyLoadItem({
//     super.key,
//     required this.builder,
//     this.onVisible,
//   });

//   @override
//   State<LazyLoadItem> createState() => _LazyLoadItemState();
// }

// class _LazyLoadItemState extends State<LazyLoadItem>
//     with AutomaticKeepAliveClientMixin {
//   bool _hasBuilt = false;
//   late Widget _child;

//   void _handleVisibility(VisibilityInfo info) {
//     if (!_hasBuilt && info.visibleFraction > 0.1) {
//       setState(() {
//         _child = widget.builder();
//         _hasBuilt = true;
//       });
//       widget.onVisible?.call();
//     }
//   }

//   @override
//   Widget build(BuildContext context) {
//     super.build(context);
//     return VisibilityDetector(
//       key: widget.key ?? UniqueKey(),
//       onVisibilityChanged: _handleVisibility,
//       child: _hasBuilt
//           ? _child
//           : const SizedBox(
//               height: 150,
//               child: Center(child: CircularProgressIndicator()),
//             ),
//     );
//   }

//   @override
//   bool get wantKeepAlive => true;
// }

// // 懒加载列表容器
// class LazyLoadListView extends StatelessWidget {
//   final List<LazyLoadItemConfig> children;
//   final EdgeInsets? padding;
//   final Axis axis;

//   const LazyLoadListView({
//     super.key,
//     required this.children,
//     this.padding,
//     required this.axis,
//   });

//   @override
//   Widget build(BuildContext context) {
//     return ListView.builder(
//       scrollDirection: axis,
//       padding: padding,
//       itemCount: children.length,
//       itemBuilder: (context, index) {
//         final config = children[index];
//         return LazyLoadItem(
//           builder: config.builder,
//           onVisible: config.onVisible,
//         );
//       },
//     );
//   }
// }

// class LazyLoadItemConfig {
//   final Widget Function() builder;
//   final VoidCallback? onVisible;

//   LazyLoadItemConfig({required this.builder, this.onVisible});
// }
